The protocols used by an internet transport layer are primarily a transmission control protocol (TCP) and a user datagram protocol (UDP). While the former one is a reliable transmission protocol based on connection and has functions such as traffic control and congestion control, the later one is a connectionless and unreliable transmission protocol. Current network transport mainly uses the transmission control protocol. Before transmitting data, the sending end and the receiving end have to reach an agreement on information related to a transmission control protocol connection, which needs to be negotiated and established via the three-handshake mechanism of the transmission control protocol.
An existing method of transmission control protocol connection is illustrated in FIG. 1. First, step S101 is performed at a client, where the client sends a handshake signal (SYN information) to a server. After the server receives the SYN information, step S102 is performed, where the server sends SYN+ACK information to the client, indicating that the server receives the SYN information. After the client receives the information sent from the server, step S103 is finally performed, where ACK is sent to the server, thus confirming that the data sent from the server is received. When the client and the server need to perform data transmission, step S104 is further performed, and the client sends a data transmission request to the server. In step S105, after receiving the transmission request sent from the client, the server performs first window transmission with the client.
At the beginning of the establishment of the transmission control protocol connection between the client and the server, both the client and the server may have no idea what the available bandwidth is for the network link. Accordingly, a detection and estimation mechanism is first needed, and the transmission rate needs to be adjusted dynamically based on the continuous change in the network status. The method used by the transmission control protocol to detect and estimate the network bandwidth is a slow start mechanism, and the sending end may configure an initial value for the transmission window when the transmission control protocol connection is established. The initial value is the maximum data amount that the sending end may send before receiving the acknowledgement packet (ACK) replied by the receiving end. Later, every time an acknowledgement packet is received, the slow start mechanism may ask the sending end to add a transmission control protocol packet section to the transmission window. Accordingly, two new transmission control protocol packets may be sent, and such a growing process may continue until the transmission window reaches a threshold value or packet loss occurs. The slow start stage of the transmission control protocol is often called an “exponential growth” stage because the data amount transmitted by the transmission control protocol connection approaches rapidly towards the actual available bandwidth of the network link.
Compared to the conventional fixed line network (cable network), the major features of the wireless network (2G/3G/4G/WIFI) are as follows:
(1) The bandwidth is limited and bandwidth variance in different networks is large; (2) the time delay variation is large, and the network switch is relatively frequent; (3) random packet loss occurs frequently caused by signal attenuation or noise disturbance. If being an important factor that restricts the performance of the fixed line network connection, the time delay may be an even more important performance bottleneck for wireless connection because the time delay of the wireless network is longer than that of the fixed line network. Because the time delay of the wireless network is long and the network switch may occur, once network switch occurs, the client of the transmission control protocol has to re-establish connection with the server in order to continue data transmission. If the network switch is relatively frequent, the cost spent on establishing the transmission control protocol connection between the client and the server may be relatively high.
No matter how large the network bandwidth is, each transmission control protocol connection has to undergo the slow start stage. That is, the transmission control protocol connection may not entirely utilize the maximum bandwidth of the network link at the very beginning. For the transmission of a large data amount request, because the transmission time is relatively long, the influence of the slow start stage may be relatively small. But for the transmission of a small data amount request, often situations where the request is completed before the transmission window reaches the threshold value occur. The slow start limits the available transmission amount, which is undesired for the transmission of small data amount.
To shorten the period of time experienced by the slow start process and to decrease the probability of network congestion, a relatively useful method is to configure different initial transmission windows based on the network type of the transmission control protocol connection. For the network with a relatively large bandwidth, an appropriate increase in the initial transmission window may be particularly desired for enhancing the transmission of the small data amount. But the transmission control protocol fails to configure an initial transmission window individually for each connection, and all connections have to share the same initial window. That is, for the transmission control protocol connection, the 3G/4G network with a relatively large bandwidth has to configure the same initial transmission window as the 2G network with a relatively small bandwidth, which is highly undesired for the transmission of small request under the 3G/4G network.
As such, the issues in existing techniques are: (1) connection has to be established between the client and the server after three handshakes, resulting in a relatively high time cost for establishing a transmission control protocol connection; (2) the transmission control protocol connection fails to configure corresponding initial windows for different networks; (3) the transmission control protocol connection needs to be re-established when the network switches.